package bigdata.backend.meta.dto;

import bigdata.backend.meta.entity.DorisColumnMeta;
import lombok.Data;

/**
 * 字段结构差异项
 * <p>
 * 用于表示本地元数据与 Doris 实际表结构之间的字段变更。
 * </p>
 */
@Data
public class DorisColumnDiffItem {

    /**
     * 变更类型
     */
    public enum DiffType {
        ADD,      // Doris 有，本地无
        DELETE,   // 本地有，Doris 无
        UPDATE    // 两者都有，但属性不同
    }

    /**
     * 变更类型
     */
    private DiffType type;

    /**
     * 字段名
     */
    private String columnName;

    /**
     * 本地元数据（null 表示 ADD）
     */
    private DorisColumnMeta oldMeta;

    /**
     * Doris 实际字段（null 表示 DELETE）
     */
    private DorisColumnDto liveMeta;
}
